package com.pyue.eam.admin.api.entity.regi;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.pyue.eam.admin.api.base.BaseEntity;
import com.pyue.eam.admin.api.mate.BindType;
import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
// import mybatis.mate.annotation.FieldBind;

import java.util.List;

/**
 * 客户表
 *
 * @author lucc
 * @date 2023-10-12 20:38:12
 */
@Data
@TableName("client_lib")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "客户表")
public class ClientLibEntity extends BaseEntity {

    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description = "客户id")
    private Long clientId;

    /**
     * 客户代码
     */
    @Schema(description = "客户代码")
    private String clientCode;

    /**
     * 客户全称
     */
    @Schema(description = "客户全称")
    private String clientName;

    /**
     * 客户简称
     */
    @Schema(description = "客户简称")
    private String shortName;

    /**
     * 销售用户id
     */
    @Hidden
    @Schema(description = "销售用户id")
    private Integer saleUserId;

    /**
     * SQE名称
     */
    @Schema(description = "SQE名称")
    private String sqeName;

    /**
     * SQE手机号
     */
    @Schema(description = "SQE手机号")
    private String sqePhone;

    /**
     * 客户状态
     */
    // @FieldBind(type = BindType.DICT + "client_state_dict", target = "clientStateTrans")
    @Schema(description = "客户状态")
    private Integer clientState;

    /**
     * 客户状态
     */
    @Schema(description = "客户状态")
    @TableField(exist = false)
    private String clientStateTrans;

    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;

    /**
     * 省
     */
    @Schema(description = "省")
    private String privince;

    /**
     * 市
     */
    @Schema(description = "市")
    private String cityProper;

    /**
     * 公司地址
     */
    @Schema(description = "公司地址")
    private String addr;

    /**
     * 基地地址
     */
    @TableField(exist = false)
    @Schema(description = "基地地址")
    private List<ClientAddrEntity> baseAddrList;

}
